Systems and methods for improved augmentation for GPS calculations

ABSTRACT

Various embodiments of the present invention provide systems, methods, and computer program products for providing improved augmentation for GPS calculations. In general, various embodiments of the invention involve using a plurality of GPS devices associated with stationary objects associated with a common carrier&#39;s delivery network and the common carrier&#39;s delivery fleet to calculate error corrections and to communicate these error corrections to a number of GPS enable devices to be used by these devices to augment GPS calculations to correct errors associated with GPS signals. Further, various embodiments of the invention involve collecting GPS data for a plurality of delivery routes traveled by the common carrier&#39;s delivery fleet. In particular embodiments, this collected data may be used to provide more accurate address information for locations along these delivery routes and more accurate renderings of various landscapes along these delivery routes.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. application Ser. No.12/883,946 filed Sep. 16, 2010, which is hereby incorporated herein inits entirety by reference.

BACKGROUND

In general, a global positioning system (GPS) is a space-based globalnavigation satellite system that provides location and time informationat practically all times and for practically anywhere on the Earth whenand where there is an unobstructed line of sight to four or more GPSsatellites. Generally, a GPS receiver calculates a position of thereceiver by precisely timing the signals sent by the GPS satellites.Each satellite continually transmits messages that include suchinformation as the time the message was transmitted, the precise orbitalinformation for the satellite, and the general system health and roughorbits of all GPS satellites. The GPS receiver utilizes the messages itreceives to determine a transit time of each message and computes thedistance to each satellite. These distances along with the satellites'locations are used to compute the position of the receiver.

However, atmospheric inconsistencies affect the speed and/or time of theGPS signals (i.e., satellite messages) as they pass through the Earth'satmosphere and affect the accuracy in calculating the position of theGPS receiver. Therefore, correcting these errors becomes a significantchallenge to improving position accuracy provided by GPS. In addition,as more and more applications of GPS become prevalent and the Worldbecomes more reliant on GPS, a need for improved accuracy becomes moreimportant. Therefore, a need exists for systems and methods forproviding improved augmentation for GPS calculations and in turnimproved position accuracy.

BRIEF SUMMARY OF VARIOUS EMBODIMENTS OF THE INVENTION

Various embodiments of the invention include systems and methods forproviding improved augmentation for a global positioning system.Particular embodiments may include a GPS enabled vehicle deviceassociated with a delivery vehicle traveling on a delivery route, acommunication device associated with the delivery vehicle in electroniccommunication with the GPS enabled vehicle device, and a stationary GPSdevice associated with an operating object located along the deliveryroute. In these particular embodiments, the stationary GPS device may beconfigured to: (1) receive signals from a plurality of satellitesassociated with the global positioning system; (2) determine acalculated location of the operating object for which the stationary GPSdevice is affixed based on the received signals; and (3) determine anerror correction based on a predetermined location of the stationary GPSdevice and the calculated location of the stationary GPS device. Inparticular embodiments, the stationary GPS device may perform thesesteps in response to a predetermined period of time expiring since aprevious performance of the steps. In other embodiments, the stationaryGPS device may re-perform steps in response to detecting a weathercondition change.

In addition, particular embodiments may include a stationarycommunication device associated with the operating object that isconfigured to receive the error correction from the stationary GPSdevice and to communicate the error correction to the communicationdevice associated with the delivery vehicle as the delivery vehicletravels within a predetermined distance of the operating object. As aresult, in these particular embodiments, the communication devicecommunicates the error correction to a second GPS enabled deviceproximate to the delivery route as the delivery vehicle travels thedelivery route. In one or more of these particular embodiments, thedelivery route may include two or more error correction zones in whicheach error correction zone is associated with a different operatingobject located along the delivery route. Thus, in these particularembodiments, the stationary communication device communicates the errorcorrection to the communication device associated with the deliveryvehicle as a result of the delivery vehicle traveling from a first errorcorrection zone to a second error correction zone.

In particular embodiments, the delivery vehicle is part of a commoncarrier's delivery fleet and the operating object is either a retaillocation or an operating facility of the common carrier. In addition, inparticular embodiments, the stationary GPS device and the stationarycommunication device are the same device. In addition, in particularembodiments, the communication device and the GPS enabled device are thesame device. Further, in particular embodiments, the second GPS enableddevice is associated with a vehicle other than the delivery vehicle orwith a cell phone.

According to various embodiments, the communication device may beconfigured to communicate the error correction as long as the deliveryvehicle is within a predetermined distance from the operating object. Inaddition, in various embodiments, the communication device maycommunicate the error correction by broadcasting the error correctionover an open wireless communication channel. Further, in variousembodiments, the stationary communication device may communicate theerror correction by broadcasting the error correction over an openwireless communication channel so that one or more of the GPS enableddevices proximate to the operating object can also receive the errorcorrection.

In addition, various embodiments of the invention provide methods foraugmenting GPS data associated with a global positioning system thatincludes the steps of: (1) receiving signals from a plurality ofsatellites associated with the global positioning system by a stationaryGPS device, the stationary GPS device being one of a plurality ofstationary GPS devices disposed along a plurality of delivery routes;(2) determining a calculated location of the stationary GPS device, bythe stationary GPS device, based on the received signals; and (3)determining an error correction, by the stationary GPS device, based ona predetermined location of the stationary GPS device and the calculatedlocation of the stationary GPS device; (4) communicating the errorcorrection to one or more communication devices associated with one ormore of delivery vehicles as the one or more delivery vehicles travelproximate the stationary GPS device; and (5) communicating the errorcorrection to one or more of the GPS enabled devices proximate to theone or more delivery routes as the one or more delivery vehicles travelone or more of the plurality of delivery routes so that each of the GPSenabled devices can use the error correction to augment a GPScalculation performed by the GPS enabled device based on the globalpositioning system.

Further, various embodiments of the invention provide a non-transitorycomputer-readable medium containing executable code for providingimproved augmentation for GPS enabled devices associated with a globalpositioning system. In particular embodiments, the executable code, whenexecuted by at least one computer processor associated with an operatingobject located along at least one of a plurality of delivery routes,causes the at least one computer processor to: (1) receive signals froma plurality of satellites associated with the global positioning system;(2) determine a calculated location of the operating object based on thereceived signals; and (3) determine an error correction based on aprecise location of the operating object and the calculated location ofthe operating object; and (4) communicate the error correction to one ormore communication devices located on one or more of the deliveryvehicles as the one or more delivery vehicles travel proximate to theoperating object, wherein, as the one or more delivery vehicles travelone or more of the plurality of delivery routes, the one or morecommunication devices communicate the error correction to provide theerror correction to one or more of the GPS enabled devices proximate tothe one or more delivery routes so that each of the GPS enabled devicescan use the error correction to augment a GPS calculation performed bythe GPS enabled device based on the global positioning system.

Further embodiments of the invention also provide systems and methodsfor collecting GPS data for a plurality of delivery routes traveled by aplurality of delivery vehicles. Particular embodiments include one ormore storage media and a plurality of GPS enabled devices. In theseparticular embodiments, each GPS enabled device associated with one ofthe plurality of delivery vehicles is configured to, in response todetecting one of a plurality of triggering events, receive signals froma plurality of satellites associated with a global positioning system,determine a location of the delivery vehicle on which the GPS enableddevice is located based on the received signals, and store the locationin memory as the GPS data. Further, particular embodiments include aplurality of communication devices. In these particular embodiments,each communication device located on one of the plurality of deliveryvehicles is configured to communicate the collected GPS data for eachdetermined location to the one or more storage media. For instance, inparticular embodiments, the communication device communicate the GPSdata over a wireless communication channel.

In various embodiments, at least one of the GPS enabled devices and atleast one of the communication devices are the same device. In addition,in various embodiments, at least one of the triggering events is anelapse of a predetermined period of time. Further, in particularembodiments, the plurality of delivery vehicles are dispatched over theplurality of delivery routes on a regular basis to collect the GPS datafor the plurality of delivery routes, such as daily.

In various embodiments, each of the plurality of vehicles may includeone or more data sensors configured to gather data about the vehicle andat least one of the triggering events is a data sensor gathering data.In particular embodiments, the data sensor may gather data that includesat least one of the vehicle stopping, a door on the vehicle opening, ora door on the vehicle unlocking. In other embodiments, each of theplurality of vehicles may include one or more data sensors configured togather data about the vehicle and the collected GPS data includes atleast a portion of the gathered data from the one or more data sensors.

Further, in various embodiments, the collected GPS data for a particulardelivery route is provided to a geographic information system so thatthe geographic information system can rendering a mapping of theparticular delivery route using the collected GPS data for theparticular delivery route. In addition, in various embodiments, thecollected GPS data is provided to at least one of one or more webmapping providers and one or more GPS service providers.

Various embodiments of the invention further provide methods forcollecting GPS data for a plurality of delivery routes traveled by aplurality of delivery vehicles that include the steps of: (a) inresponse to detecting each triggering event of a plurality of triggeringevents that occur for each of the plurality delivery vehicles while theparticular delivery vehicle travels on one of the plurality of deliveryroutes: (1) receiving signals, by a GPS enabled device located on theparticular delivery vehicle, from a plurality of satellites associatedwith a global positioning system; (2) determining a location of thedelivery vehicle, by the GPS enabled device, based on the receivedsignals; and (3) storing the location in memory as the GPS data; and (b)communicating the collected GPS data for each determined location to oneor more storage media.

In addition, various embodiments of the invention further provide anon-transitory computer-readable medium containing executable code forcollecting GPS data for a plurality of delivery routes traveled by aplurality of delivery vehicles. In these particular embodiments, theexecutable code, when executed by at least one computer processorassociated with one of the plurality of delivery vehicles as thedelivery vehicle travels along at least one of a plurality of deliveryroutes, causes the at least one computer processor to: (a) detect aplurality of triggering events; (b) in response to detecting eachtriggering event of the plurality of triggering events while theparticular delivery vehicle travels on the particular delivery route:(1) receive signals from a plurality of satellites associated with aglobal positioning system; (2) determine a location of the deliveryvehicle based on the received signals; and (3) store the location inmemory as the GPS data; and (b) communicate the collected GPS data foreach determined location to one or more storage media.

BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWING(S)

Having thus described the invention in general terms, reference will nowbe made to the accompanying drawings, which are not necessarily drawn toscale, and wherein:

FIG. 1 shows an overview of one embodiment of an architecture that canbe used to practice various aspects of the present invention.

FIG. 2 shows an exemplary schematic diagram of an operating objectserver according to one embodiment of the present invention.

FIG. 3 shows an exemplary schematic diagram of a vehicle deviceaccording to one embodiment of the present invention.

FIG. 4 shows a flow diagram of an error correction module according toone embodiment of the invention.

FIG. 5 shows a flow diagram of a data collection module according to oneembodiment of the invention.

FIG. 6 shows a flow diagram of a vehicle module according to oneembodiment of the invention.

DETAILED DESCRIPTION OF VARIOUS EMBODIMENTS OF THE INVENTION

Various embodiments of the present invention now will be described morefully hereinafter with reference to the accompanying drawings, in whichsome, but not all embodiments of the inventions are shown. Indeed, theseinventions may be embodied in many different forms and should not beconstrued as limited to the embodiments set forth herein; rather, theseembodiments are provided so that this disclosure will satisfy applicablelegal requirements. The term “or” is used herein in both the alternativeand conjunctive sense, unless otherwise indicated. Like numbers refer tolike elements throughout.

I. METHODS, APPARATUS, SYSTEMS, AND COMPUTER PROGRAM PRODUCTS

As should be appreciated, the embodiments may be implemented in variousways, including as methods, apparatus, systems, or computer programproducts. Accordingly, the embodiments may take the form of an entirelyhardware embodiment or an embodiment in which a processor is programmedto perform certain steps. Furthermore, the various implementations maytake the form of a computer program product on a computer-readablestorage medium having computer-readable program instructions embodied inthe storage medium. Any suitable computer-readable storage medium may beutilized including hard disks, CD-ROMs, optical storage devices, ormagnetic storage devices.

Particular embodiments are described below with reference to blockdiagrams and flowchart illustrations of methods, apparatus, systems, andcomputer program products. It should be understood that each block ofthe block diagrams and flowchart illustrations, respectively, may beimplemented in part by computer program instructions, e.g., as logicalsteps or operations executing on a processor in a computing system.These computer program instructions may be loaded onto a computer, suchas a special purpose computer or other programmable data processingapparatus to produce a specifically-configured machine, such that theinstructions which execute on the computer or other programmable dataprocessing apparatus implement the functions specified in the flowchartblock or blocks.

These computer program instructions may also be stored in acomputer-readable memory that can direct a computer or otherprogrammable data processing apparatus to function in a particularmanner, such that the instructions stored in the computer-readablememory produce an article of manufacture including computer-readableinstructions for implementing the functionality specified in theflowchart block or blocks. The computer program instructions may also beloaded onto a computer or other programmable data processing apparatusto cause a series of operational steps to be performed on the computeror other programmable apparatus to produce a computer-implementedprocess such that the instructions that execute on the computer or otherprogrammable apparatus provide operations for implementing the functionsspecified in the flowchart block or blocks.

Accordingly, blocks of the block diagrams and flowchart illustrationssupport various combinations for performing the specified functions,combinations of operations for performing the specified functions andprogram instructions for performing the specified functions. It shouldalso be understood that each block of the block diagrams and flowchartillustrations, and combinations of blocks in the block diagrams andflowchart illustrations, can be implemented by special purposehardware-based computer systems that perform the specified functions oroperations, or combinations of special purpose hardware and computerinstructions.

II. EXEMPLARY SYSTEM ARCHITECTURE

FIG. 1 provides an illustration of an architecture that can be used inconjunction with various embodiments of the present invention. As shownin FIG. 1, the architecture includes multiple satellites 101 a, 101 b,101 c. In this particular instance, these satellites 101 a, 101 b, 101 cmake up part of a Global Positioning System, and in particular the spacesegment of a Global Positioning System (GPS).

In general, the space segment of a typical GPS includes multipleorbiting satellites arranged into a set of planes. For instance, in aparticular GPS, the space segment may be made up of twenty-four (24)orbiting satellites that form six planes with four satellites in eachplane. In addition, the orbits of the satellites may be arranged so thata minimum number of satellites (e.g., at least six satellites) arealways within line of sight from almost everywhere on the Earth'ssurface. For illustration purposes, FIG. 1 shows three satellites 101 a,101 b, 101 c in the GPS; however, it should be understood that otherembodiments may include more satellites.

In general, the satellites 101 a, 101 b, 101 c send out signals (e.g.,messages) that are received by a GPS receiver. In turn, the GPS receiverdetermines from the messages the time the signals were sent from and thesatellites' 101 a, 101 b, 101 c positions corresponding to the times thesignals were sent. Knowing the time the signals were received, the GPSreceiver can compute the transit time of the message, and assuming themessage traveled at the speed of light, the distance the signalstraveled. A satellite's position and distance traveled define a sphere,centered on the respective satellite with a radius equal to the distancetraveled. The position of the receiver is positioned somewhere on thesurface of this sphere. Thus, the indicated position of the GPS receiveris at the intersection of the surfaces of the spheres.

Returning to FIG. 1, the architecture also includes operating objects102 a, 102 b, 102 c. In this particular embodiment, the operatingobjects 102 a, 102 b, 102 c are stationary “objects” within a commoncarrier's delivery network. For example, the common carrier may be acarrier such as United Parcel Service (UPS®). UPS® deliversapproximately 15.1 million packages and documents daily in more than 200countries and territories. UPS® includes a number of retail locationssuch as approximately 4,600 UPS Stores®, 75 Mail Boxes Etc.®, 1,000 UPS®customer centers, 16,000 authorized outlets, and 40,000 UPS® drop boxes.In addition, UPS® includes approximately 1,800 operating facilitiesoperating in more than 120 countries. These operating facilities includeair hubs in the United States, Europe, and Asia and approximately 215service centers. Thus, in the case of UPS®, the operating objects 102 a,102 b, 102 c depicted in FIG. 1 may include any number of these retaillocations and/or operating facilities.

Further, in this particular architecture, each operating object 102 a,102 b, 102 c includes a GPS device (not shown) that may serve as areceiver and/or transceiver and is associated with the operating object102 a, 102 b, 102 c and is configured to receive signals from one ormore of the GPS satellites 101 a, 101 b, 101 c. As explained in furtherdetail below, the signals are used to calculate a location of the GPSdevice on the particular operating object 102 a, 102 b, 102 c and anerror correction is determined from the calculated location. The errorcorrection is the difference between the calculated position that isdetermined based on the received signals from the GPS satellites 101 a,101 b, 101 c and a predetermined location of the GPS device on theoperating object 102 a, 102 b, 102 c.

In particular embodiments, the error correction may be transmitted fromthe operating object to one or more delivery vehicles 103 a, 103 b, 103c of the common carrier. For instance, in various embodiments, eachoperating object 102 a, 102 b, 102 c is equipped with a communicationdevice (e.g., transmitter or transceiver) that communicates (e.g.,transmits) the correction error to devices residing on various deliveryvehicles 103 a, 103 b, 103 c as they pass within a predetermineddistance of the operating object 102 a, 102 b, 102 c. In particularembodiments, the communication device may be a component of the GPSdevice associated with the operating object 102 a, 102 b, 102 c. In oneembodiment, the communication device may transmit the error correctionover a closed wireless communication channel that is only accessible bythe delivery vehicles 103 a, 103 b, 103 c. In another embodiment, thecommunication device may transmit the error correction over an openwireless communication channel (e.g., the communication device maybroadcast the error correction over open airwaves) so that othervehicles 105 in addition to the delivery vehicles 103 a, 103 b, 103 cmay have access to (and receive) the error correction. Yet, in anotherembodiment, the operating object 102 a, 102 b, 102 c may provide theerror correction to one or more entities outside the common carrier. Forexample, the operating object 102 a, 102 b, 102 c may communicate theerror correction to facilities associated with GPS service providerssuch as Garmin®, Tom-Tom®, Microsoft®, Google®, RIM®, and Apple®.

As is discussed in greater detail below, in various embodiments, thedelivery vehicles 103 a, 103 b, 103 c receive the error correction anduse the error correction for their own GPS navigation systems and/orcommunicate (e.g., transmit) the error correction as they travel alongtheir delivery routes. For instance, in particular embodiments, thedrivers of the delivery vehicles 103 a, 103 b, 103 c may carry aportable data acquisition device (DIAD) that includes GPS capabilities.Therefore, in these particular embodiments, the error correction istransmitted to the driver's DIAD so that the error correction may beused in conjunction with the GPS capabilities on the device. In otherembodiments, the delivery vehicles 103 a, 103 b, 103 c may have built-inGPS navigation systems that may use the error correction.

In addition, in various embodiments, the delivery vehicles 103 a, 103 b,103 c may also communicate GPS data back to the operating objects 102 a,102 b, 102 c. As discussed in greater detail below, the deliveryvehicles 103 a, 103 b, 103 c may collect GPS data as the vehicles 103 a,103 b, 103 c travel along their delivery routes. For instance, adriver's DIAD may record GPS data as the driver travels his route makinghis deliveries. This GPS data may include location data determined atpredetermined time intervals. For example, the driver's DIAD may beconfigured to determine the driver's location for every second as thedriver travels on his route. In addition, the DIAD may record additionalinformation along with the GPS specific data such as information thatmay relate to a delivery the driver is making at the time the locationdata is measured. For example, the additional information may indicatethat the driver was out of the vehicle 103 a, 103 b, 103 c and at thedoor of a delivery location. As explained below, such additionalinformation may help to fine tune the collected GPS data.

Further, in various embodiments, the operating objects 102 a, 102 b, 102c may send the collected GPS data from the various delivery vehicles 103a, 103 b, 103 c to a central system 104. In particular embodiments, thecentral system 104 includes one or more types of storage media forstoring the GPS data received from the various operating objects 102 a,102 b, 102 c. In addition, the central system 104 may include a databasemanagement system and the storage media may include one or moredatabases and one or more database instances. In various embodiments,the storage media may be one or more types of medium such as hard disks,magnetic tapes, or flash memory. The term “database” refers to astructured collection of records or data that is stored in a computersystem, such as via a relational database, hierarchical database, ornetwork database. In addition, the operating objects 102 a, 102 b, 102 cand the central system 104 may be in electronic communication with oneanother over the same or different wireless or wired networks includinga wired or wireless Personal Area Network (“PAN”), Local Area Network(“LAN”), Metropolitan Area Network (“MAN”), Wide Area Network (“WAN”),the Internet, or the like.

Finally, while FIG. 1 illustrates the architecture according to oneembodiment of the invention, it should be understood that the variouscomponents of the architecture, as described above, may be configureddifferently in other embodiments. Therefore, the various aspects of theclaimed invention are not limited to this particular architecture.

a. Operating Object Server

In various embodiments, the operating objects 102 a, 102 b, 102 c mayinclude one or more computing devices (such as one or more servers) thatassist in providing functionality for one or more aspects of theinvention. FIG. 2 provides a schematic of an operating object server 200according to one embodiment of the present invention. The term “server”is used generically to refer to any computer, computing device, desktop,notebook or laptop, distributed system, server, gateway, switch, orother processing device adapted to perform the functions describedherein. As will be understood from this figure, in this embodiment, theoperating object server 200 includes a processor 60 that communicateswith other elements within the operating object server 200 via a systeminterface or bus 61. The processor 60 may be embodied in a number ofdifferent ways. For example, the processor 60 may be embodied as variousprocessing means such as a processing element, a microprocessor, acoprocessor, a controller or various other processing devices includingintegrated circuits such as, for example, an application specificintegrated circuit (“ASIC”), a field programmable gate array (“FPGA”), ahardware accelerator, or the like. In an exemplary embodiment, theprocessor 60 may be configured to execute instructions stored in thedevice memory or otherwise accessible to the processor 60. As such,whether configured by hardware or software methods, or by a combinationthereof, the processor 60 may represent an entity capable of performingoperations according to embodiments of the present invention whileconfigured accordingly. A display device/input device 64 for receivingand displaying data is also included in the operating object server 200.This display device/input device 64 may be, for example, a keyboard orpointing device that is used in combination with a monitor. Theoperating object server 200 further includes memory 65, which mayinclude both read only memory (“ROM”) 66 and random access memory(“RAM”) 67. The application server's ROM 66 may be used to store a basicinput/output system (“BIOS”) 26 containing the basic routines that helpto transfer information to the different elements within the operatingobject server 200.

In addition, in one embodiment, the operating object server 200 includesat least one storage device 63, such as a hard disk drive, a CD drive,and/or an optical disk drive for storing information on variouscomputer-readable media. The storage device(s) 63 and its associatedcomputer-readable media may provide nonvolatile storage. Thecomputer-readable media described above could be replaced by any othertype of computer-readable media, such as embedded or removablemultimedia memory cards (“MMCs”), secure digital (“SD”) memory cards,Memory Sticks, electrically erasable programmable read-only memory(“EEPROM”), flash memory, hard disk, or the like. Additionally, each ofthese storage devices 63 may be connected to the system bus 61 by anappropriate interface.

Furthermore, a number of program modules (e.g., set of computer programinstructions) may be stored by the various storage devices 63 and/orwithin RAM 67. Such program modules may include an operating system 80,an error correction module 400, and a data collection module 500. Thesemodules 400, 500 may control certain aspects of the operation of theoperating object server 200 with the assistance of the processor 60 andoperating system 80, although their functionality need not bemodularized.

Also located within the operating object server 200, in one embodiment,is a network interface 74 for interfacing with various computingentities. This communication may be via the same or different wired orwireless networks (or a combination of wired and wireless networks), asdiscussed above. For instance, the communication may be executed using awired data transmission protocol, such as fiber distributed datainterface (“FDDI”), digital subscriber line (“DSL”), Ethernet,asynchronous transfer mode (“ATM”), frame relay, data over cable serviceinterface specification (“DOCSIS”), or any other wired transmissionprotocol. Similarly, the operating object server 200 may be configuredto communicate via wireless external communication networks using any ofa variety of protocols, such as 802.11, general packet radio service(“GPRS”), wideband code division multiple access (“W-CDMA”), or anyother wireless protocol.

It will be appreciated that one or more of the operating object server's200 components may be located remotely from other operating objectserver 200 components, such as multiple operating object servers 200.Furthermore, one or more of the components may be combined andadditional components performing functions described herein may beincluded in the operating object server 200.

b. Vehicle Device

As previously described, in various embodiments, the delivery vehicles103 a, 103 b, 103 c include one or more vehicle devices that assistswith different aspects of the invention. For instance, in oneembodiment, delivery vehicles 103 a, 103 b, 103 c include a GPS enableddevice and a separate communication device. In this particularembodiment, the GPS enabled device is configured to perform GPSfunctionality and the communication device is configured to performcommunication functionality for the vehicle 103 a, 103 b, 103 c and/orthe driver. However, in other embodiments, the functionality of the GPSenable device and communication device may be combined into one deviceon the vehicle 103 a, 103 b, 103 c.

In addition, in particular embodiments, the vehicle device may beaffixed to the vehicle 103 a, 103 b, 103 c and thus may be considered acomponent of the vehicle 103 a, 103 b, 103 c. However, in otherembodiments, the vehicles devices may not be affixed to the vehicles.For instance, in various embodiments, the vehicle devices are portabledata acquisition devices (DIAD) that are carried by the drivers of thedelivery vehicles. In these particular embodiments, the driver may usethe portable DIAD to record and monitor various aspects of the driver'sdaily delivery tasks. For example, the driver may have a deliveryrecipient electronically sign the DIAD upon receiving a package from thedriver. FIG. 3 provides a schematic of a vehicle device 300 that is aDIAD according to one embodiment of the present invention. The term“vehicle devices,” as used herein, should be interpreted broadly asincluding GPS enabled devices that may be attached and not attached tovehicles, unless specified otherwise. Moreover, the vehicle devices 300may include a GPS enabled devices with integrated communication devicesor separate communication devices.

In particular embodiments, the vehicle device 300 may include a GPSsensor 310 that is configured to acquire, for example, a latitude,longitude, altitude, course, speed, universal time (UTC), and date. Invarious embodiments, this data may be acquired in National ElectricalManufacturers Association (NEMA) data format or other appropriate dataformat. As will be appreciated by one skilled in the art, the GPS sensor310 acquires data, sometimes known as ephemeris data, identifying thenumber of GPS satellites in view and the relative positions of thosesatellites. In addition, data regarding, for example, heading and ETA ofthe device 300 can also be captured, which enhances the determination ofthe position of the GPS sensor 310 and allows an area to be profiled orsegmented based on the common characteristics of the data.

Further, in particular embodiments, the vehicle device 300 may beconfigured to receive an error correction from an operating object 102a, 102 b, 102 c as described with reference to FIG. 2. In manyinstances, a satellite's positioning accuracy is impeded by errors inits clock and signal delays caused by atmospheric conditions. Forexample, atmospheric inconsistencies affect the speed of the GPS signalsas they pass through the Earth's atmosphere, especially the ionosphere.Thus, correcting these errors is a significant challenge to improvingposition accuracy.

In many instances, an augmentation system is used to compensate forthese discrepancies by transmitting error corrections that aredetermined based on known locations. For example, many augmentationsystems use earth stations (e.g., stationary objects) that have exactknown locations. These stations are configured to receive GPS signalsand the stations then compare the location determined from the signalswith values associated with the known locations for the stations. Thedifferences between the locations determined from the signals and theknown locations are used to calculate error corrections. These errorcorrections may then be used by various GPS devices to correction GPSreadings for the devices.

In various embodiments, the carrier may install GPS devices on variousoperating objects 102 a, 102 b, 102 c located throughout the carrier'sdelivery network. As previously described, in various embodiments, theGPS devices are configured to receive signals from one or more of thesatellites 101 a, 101 b, 101 c and to communicate (e.g., transmit) anerror correction determined from the calculated location of a device ona respective operating object 102 a, 102 b, 102 c to one or more vehicledevices 300 that pass within a predetermined distance. For instance, inone particular embodiment, the GPS device transmits an error correctionover open airwaves and a DIAD carried by a delivery vehicle 103 a, 103b, 103 c receives the transmitted error correction when it is within apredetermined distance from the operating object 102 a, 102 b, 102 c. Inaddition, other mobile GPS enabled devices (such as a passenger's car'sGPS navigation system, a pedestrian's cellular telephone, or personalGPS navigation device) may receive the error correction when the devicesare within a predetermined distance from the operating object 102 a, 102b, 102 c.

For example, the carrier may install stationary GPS devices on a numberof the carrier's operating centers throughout the United States. Thedevices receive GPS signals and calculate a location for the device onthe particular operating center associated with the device using thesignals. In addition, an error correction is determined based on thecalculated location from the GPS signals and the known location for thedevice on the operating center. The error correction may then betransmitted by the GPS device (e.g., a transmitter component on the GPSdevice) to a vehicle device 300. For instance, as delivery vehicles 103a, 103 b, 103 c arrive and depart the operating center, the DIADsassociated with the vehicles 103 a, 103 b, 103 c receive the errorcorrection. Therefore, as the delivery vehicles 103 a, 103 b, 103 ctravel their delivery routes and the DIADs calculate various locationsalong the routes using signals received by their GPS sensor, the DIADson the vehicles 103 a, 103 b, 103 c can use the error correction duringthe location calculation to improve the accuracy of the locationcalculation. Further, other types of vehicles 105 (or pedestrians), suchas passenger cars, that pass within the predetermined distance from theoperating center may have GPS navigation systems or other GPS enableddevices that can also receive the error correction to use in GPScalculations.

Thus, returning to FIG. 3, many uses for a GPS sensor 310 in combinationwith the vehicle device 300 will be readily appreciated by one ofordinary skill in the art. For instance, the GPS sensor 310 may assist adelivery person in delivering a package to a specified or desiredlocation. In such an instance, GPS data of the desired location such as,for example, a latitude, a longitude, and/or and altitude can be loadedonto the device 300, in some instances as NEMA formatted data. The GPSdata may be loaded onto the device 300 at the direction of the carrieror in response to an identifier for the package scanned into the device300 where, for example, the identifier may comprise a code from thepackage label scanned by a scanner (not shown) included on the device300. When the GPS data is loaded, the device 300 is at an currentlocation and the GPS sensor 310 engaged with the device 300 maydetermine GPS data corresponding to the current location. The device 300may then be configured to direct the delivery person from the currentlocation to the desired location, in some instances by determining aroute between the two locations, such that the package can be deliveredto the addressee. That is, the package can be delivered when the currentlocation of the device 300 substantially corresponds to the desiredlocation as determined from the GPS data for each location (e.g., whenthe delivery person arrives at the desired location). Various data mayalso be gathered along the route such as, for example, the elapsed timebetween points on a route or the elapsed time for the entire route. Inaddition, if the desired location is reached by the delivery person andthe package is delivered, but the GPS data of the current and desiredlocations do not correspond, the device 300 may also be configured so asto allow the GPS data for the desired location to be modified or updatedto the GPS data of the current location, where the altered data may alsobe transmitted to the carrier for universally updating the data for thatdesired location.

In a similar manner, in various embodiments, the GPS sensor 310associated with the vehicle device 300 can identify inaccuracies orprevent mis-delivery of packages in a package delivery system. In mostinstances, delivery drivers rely on the destination addresses ofpackages in the delivery process. In various embodiments, thedestination addresses of one or more packages on a delivery route aredownloaded to the device 300 that the driver uses for his or herdeliveries. To address the issue of mis-deliveries, the GPS sensor 310of the device 300 can indicate to a delivery driver that he or she isabout to deliver a package to an improper address. In particularembodiments, the delivery information downloaded to the device 300 mayinclude GPS data having the latitude, longitude and/or altitude forpackage destination addresses. The GPS sensor 310 engaged with thedevice 300 can determine GPS data corresponding to the current locationof the device 300 and can then direct the delivery person from thecurrent location to the destination address, in some instances bydetermining a route between the two locations. Various data may also begathered along the route such as, for example, the elapsed time betweenpoints on a route, the elapsed time for the entire route, or aparticular time that the device 300 is at a specific location along theroute. Therefore, when a delivery driver indicates to the device 300that the package is about to be delivered to the destination address,the device 300 calculates the current GPS location based on signalsreceived from the GPS and compares the current GPS location to theloaded GPS location associated with the package destination address. Ifthe current GPS location does not match the loaded package destinationGPS location, the device 300 notifies or alerts the delivery driver of apossible mis-delivery. For instance, in one embodiment, a possiblemis-delivery notification occurs if the current GPS location of thedriver is outside predetermined GPS data tolerance limits with respectto the package destination GPS location. For example, the tolerancelimits may be based on the size of the service point created by linkingdelivery address information to the corresponding geographic informationfrom the GPS data. Thus, in the example, the tolerance limits used arespecific to the type of territory served. In particular embodiments, ifa mis-delivery notification is triggered, indicating that the GPS dataof the immediate location and destination address do not correspondwithin the tolerance limits, the delivery person may first perform acheck to verify the destination address. If the delivery person confirmsthat the destination address is correct, the device 300 may beconfigured to allow the GPS data for the destination address to bemodified or updated to the GPS data of the current location, where thealtered data may also be transmitted to the carrier's system foruniversally updating the data for that destination address. In variousembodiments, this can help to correct the package destination GPSlocation for use with future deliveries.

In addition to determining the position of a current location, invarious embodiments, the GPS sensor 310 associated with the device 300also allows a delivery route to be determined or accurately mapped. Forexample, it may often be the case in rural areas that a packagedestination address is not accurately depicted on a map. The device 300having the GPS sensor 310 may help to minimize or substantiallyeliminate this problem by providing an accurate longitude, latitude,and/or altitude for each package delivery location or destinationaddress. For instance, in one embodiment, pick-up and delivery data(including estimated location data) is checked and a central database(that may be located at the central system 104 depicted in FIG. 1) iscontinually updated with accurate latitude, longitude, and altitude fora location, whenever a package is delivered or picked up at thatlocation. Further, the use of the same types of devices 300 on thedelivery vehicles 103 a, 103 b, 103 c in various embodiments providesuniform hardware and/or software that may contribute to the accuracy ofthe mapping of these delivery routes.

In addition, in various embodiments, the GPS sensor 310 associated withthe device 300 may also be configured to record GPS data for apredetermined time interval. For example, in one embodiment, the GPSsensor 310 may be configured to record GPS data every second. This GPSdata may be uploaded to the central database and may be used to tracethe street path or network traveled to the destination during thedelivery route. This trace information contributes additional accuracyto traditional street mapping in a manner that is also useful outside ofparcel pickup and delivery such as, for example, in practically all GIS(geographic information systems). For example, this capability may allowfor the tracing of roadways that are less frequently traveled byeveryday traffic. In addition, the trace data is continually validatedand updated as a byproduct of the GPS functionality in the device 300 asthe various delivery routes are continuously traveled from day to day.Thus, any changes to these routes may be quickly recorded and, as aresult, updated and accurate geographic information is provided as aproduct of a package delivery service. In addition, in variousembodiments, as standardized addresses are added to the traceinformation, routing may become more accurate than calculations based onstreet path alone. For example, travel distances along driveways andprivate roads may be identified separately from street path travel tofurther characterize or profile a given geographic territory.

As shown in FIG. 3, in various embodiments, the vehicle device 300includes a processor 315 that communicates with other components of thedevice 300. Similar to the operating object server 200, the processor315 may be embodied in a number of different ways. For example, theprocessor 315 may be embodied as various processing means such as aprocessing element, a microprocessor, a coprocessor, a controller orvarious other processing devices including integrated circuits such as,for example, an application specific integrated circuit (“ASIC”), afield programmable gate array (“FPGA”), a hardware accelerator, or thelike. Further, the processor 315 may be configured to executeinstructions, whether configured by hardware or software methods, or bya combination thereof, and may represent an entity capable of performingoperations according to embodiments of the present invention whileconfigured accordingly. A display device/input device (not pictured) forreceiving and displaying data may also be included in the device 300.This display device/input device may be, for example, a keyboard,pointing device, and/or a touch screen that is used in combination witha display. In addition, the device 300 may further include memory, whichmay include dynamic random access memory (“DRAM”) 360 and non-volatilerandom access memory (“NVRAM”) 370.

In addition, in various embodiments, the device 300 includes at leastone storage device. In the particular embodiment shown in FIG. 3, thestorage device is flash memory 380. However, the storage devicedescribed above may be any other type of computer-readable media, suchas embedded or removable multimedia memory cards (“MMCs”), securedigital (“SD”) memory cards, Memory Sticks, electrically erasableprogrammable read-only memory (“EEPROM”), hard disk, or the like.Additionally, the storage devices may be connected to the processor 315by an appropriate interface.

Furthermore, a number of program modules (e.g., set of computer programinstructions) may be stored on the storage device 380, within the NVRAM370, and/or within DRAM 360. Such program modules may include anoperating system 320 and a vehicle module 600. The vehicle module 600may control certain aspects of the operation of the device 300 with theassistance of the processor 315 and operating system 320, although theirfunctionality need not be modularized. Further, in various embodiments,some of the modules of the device 300, for example, may be described inthe context of a package delivery. For instance, when a driver deliversa package to a consignee, the driver uses the GPS sensor 310 to obtainthe GPS position information of the consignee's actual physicallocation. The driver uses a scanner (not shown) on the device 300 tocapture the package tracking data from the package or packages to bedelivered and retrieves the corresponding destination address fromdelivery information that was previously downloaded to the device 300from the carrier via the WLAN and/or WWAN data radios 340, 330. Theconsignee GPS location information is then automatically comparedagainst the geocode (latitude/longitude) of the destination address thathad been gathered as part of the delivery information and stored in thecarrier's system, and the driver is notified of a possible mis-deliveryif the two positions are too far apart. Assuming a successful delivery,the database on the carrier's system may be either manually orautomatically updated, over a network and using the WLAN data radio 340or WWAN data radio 330, with the time and/or physical location of thedelivery.

In addition, there may be instances, when a driver is collectingpackages from a shipper, in which manifest information or other deliveryinformation may be downloaded directly from the shipper's computersystem, with the appropriate authorization and/or appropriate securityprecautions and considerations, to the device 300 via the WPAN dataradio 350 and/or the IrDA communication port 390. If the shipper'slocation or other information has not already been obtained, the GPSsensor 310 may be directed to capture the latitude, longitude and/oraltitude of the shipper's location and then transmit the GPS data andthe manifest information or other information to a database on thecarrier's system using the WLAN data radio 340 or the WWAN data radio330. According to one embodiment, the WPAN data radio 350 and/or theIrDA communication port 390 may be used to obtain data from a shipper'scomputer without using a cable and without unduly interfering with orinvading the shipper's databases or other files. The WPAN data radio 350and/or the IrDA communication port 390 and/or the software or APItherefore may be configured to interact with the shipper's computer anddatabases in a manner that limits the interaction to the neededinformation in the database. That is, the extent to which the WPAN dataradio 350 and/or the IrDA communication port 390 interacts with theshipper's computer and databases is restricted, either by theoperational parameters of the WPAN data radio 350 and/or the IrDAcommunication port 390 or by the parameters of the appropriatecommunication portion the shipper's computer, only to the necessarydata, thus preventing any excessive interference with or invasion intothe shipper's private files or databases. In an era of growing privacyconcerns, the use of the WPAN data radio 350 and/or the IrDAcommunication port 390 to obtain such a limited set of data prevents theinadvertent exposure or transmission of private customer data, sinceonly the needed shipping data is accessed and transferred to the device300, when and if necessary. In some situations, the information and/orfiles accessed by the WPAN data radio 350 and/or the IrDA communicationport 390 in the shipper's computer may be tracked and the informationgathered and prepared into a report, which may be periodically providedto the shipper.

In some instances, if a driver is working in an area where the GPSsensor 310 cannot operate, one or more of the wireless communicationdevices associated with the device 300 may be used to determine orvalidate the driver's location. More particularly, each WLAN data radio340 and/or WPAN data radio 350 typically has a unique electronicaddress. As such, a driver's location may be validated by confirmingthat one or more of the wireless data radios in the device 300 arewithin a predetermined range of a particular wireless device previouslyaccessed by the device 300 and associated with a consignee or shipper.

Further, in various embodiments, the device 300 may be configured tocommunicate with one or more data sensors on, for example, the deliveryvehicle 103 a, 103 b, 103 c, a building along a route, or about anoperating facility. In some instances, sensors may be installed on orabout the delivery vehicle 103 a, 103 b, 103 c, such as on the engine,doors, and other electrical components of the vehicle so as to allow thedevice 300 to gather additional package delivery details. In a preferredembodiment, the sensors communicate with the device 300 and provide datasuch as, for example, when during the route the vehicle 103 a, 103 b,103 c was stopped and started, travel information such as speed andheading, the amount of time the driver was away from the vehicle 103 a,103 b, 103 c, and other information such as whether or when the doors ofthe vehicle 103 a, 103 b, 103 c were opened and closed. This sensorinformation, coupled with the GPS location information, allows thecarrier to accurately gather data about a driver's movement and actionsduring all of the tasks performed on a delivery route. In addition, forexample, a delivery vehicle door sensor in combination with a GPS sensor310 can also prevent the theft of packages by notifying the deliverydriver or the carrier whenever the driver leaves the delivery vehiclearea and the vehicle door is ajar or unlocked. In some instances, thevehicle 103 a, 103 b, 103 c may be equipped with a control system (notshown) to receive and respond to a remote electronic instruction fromthe device 300 or the carrier's system so as to, for example, close andlock the doors, or the controller may be configured to determine andprovide a response to the carrier in response to a query about thestatus of the vehicle 103 a, 103 b, 103 c. In other instances,additional sensors may also be, for example, disposed on or aboutcertain buildings or premises or about the carrier's hub, so as toprovide further data.

c. Additional Exemplary System Components

In various embodiments, the central system 104 may also includecomponents and functionality similar to that of the operating objectserver 200. For example, in one embodiment, the central system 104includes one or more entities that may include: (1) a processor thatcommunicates with other elements via a system interface or bus; (2) adisplay device/input device; (3) memory including both ROM and RAM; (4)a storage device; and (5) a network interface. It should be understoodthat these architectures are provided for exemplary purposes only andare not limiting to the various embodiments. The term “computing device”is used generically to refer to any computer, computing device, desktop,notebook or laptop, distributed system, server, gateway, switch, orother processing device adapted to perform the functions describedherein.

III. EXEMPLARY SYSTEM OPERATION

As noted above, various embodiments of the present invention providesystems and methods that provide improved augmentation for GPScalculations. Reference will now be made to FIGS. 4-6 which illustrateoperations and processes as produced by these various embodiments. Forinstance, FIG. 4 provides a flow diagram of an error correction module400 that calculates an error correction for use by GPS devices accordingto various embodiments. FIG. 5 provides a flow diagram of a datacollection module 500 that downloads and collects GPS related data froma number of delivery vehicles 103 a, 103 b, 103 c according to variousembodiments. Further, FIG. 6 provides a flow diagram of a vehicle module600 that calculates a GPS location and stores and transfers GPS dataaccording to various embodiments. These modules 400, 500, 600 aredescribed in greater detail below.

a. Error Correction Module

As previously discussed, in various embodiments, the operating objectserver 200 may include an error correction module 400 that is configuredto calculate an error correction to be used in various GPS calculations.In particular embodiments, the operating object server 200 is located ata particular operating object 102 a, 102 b, 102 c within the carrier'sdelivery network. For example, the particular operating object 102 a,102 b, 102 c may be a operating center within the carrier's network usedas a distribution center where delivery vehicles 103 a, 103 b, 103 c areloaded and unloaded with packages to be delivered along any number ofdelivery routes. Once the vehicle 103 a, 103 b, 103 c is loaded, thevehicle 103 a, 103 b, 103 c leaves the operating center and proceedsalong a particular delivery route to deliver the packages to theirintended recipients.

As previously described, in various embodiments, the particularoperating object 102 a, 102 b, 102 c has a GPS device associated withthe object 102 a, 102 b, 102 c. For instance, in one example in whichthe operating object 102 a, 102 b, 102 c is an operating center, the GPSdevice may be affixed to an antenna placed on the roof of the operatingcenter. In another example, the GPS device may not be affixed directlyto the operating center but may be in close proximity with the operatingcenter and may be in communication with the operating center. Forinstance, the GPS device may be affixed to a tower on elevated propertyclose to the operating center. Further, according to variousembodiments, the GPS device may include the functionality of theoperating object server 200. Therefore, in these particular embodiments,the GPS device and operating object server 200 is essentially the samedevice. However, in other embodiments, the GPS device and the operatingobject server 200 are two distinct components that are in electroniccommunication with one another.

FIG. 4 illustrates a flow diagram of the error correction module 400according to various embodiments. This flow diagram may correspond tothe steps carried out by the processor 60 in the operating object server200 shown in FIG. 2 as it executes the module 400 in the server's RAMmemory 67 according to various embodiments.

As previously described, in various embodiments, the GPS device isconfigured to receive GPS signals sent out by multiple satellites 101 a,101 b, 101 c that make up a part of a global position system (GPS). Inthe embodiments in which the GPS device and the operating object server200 are two distinct components, the GPS device sends the signals to theoperating object server 200 over the communication channel. Therefore,in Step 402, the error correction module 400 residing on the operatingobject server 200 receives the GPS signals. In response, the module 400calculates an error correction based on the location derived from theGPS signals and the known location of the particular operating object102 a, 102 b, 102 c, shown as Step 403. As previously described, theerror correction module 400 determines the location of the GPS deviceassociated with the operating object 102 a, 102 b, 102 c based on theGPS signals received from the GPS device and compares the location withthe known location of the device associated with the operating object102 a, 102 b, 102 c. The error correction module 400 then uses thedifference between the two locations to calculate an error correctionfor the GPS signal.

Once, the error correction module 400 has calculated the errorcorrection, the module 400 transmits the correction, shown as Step 404.For instance, in one embodiment, the error correction module 400communicates the error correction to the GPS device and the devicetransmits the error correction over a closed wireless communicationchannel or over an open wireless communication channel (e.g., the GPSdevice broadcasts the error correction). As a result, vehicle devices300 (e.g., DIADs residing in delivery vehicles 103 a, 103 b, 103 c)traveling within a predetermined distance from the operating object 102a, 102 b, 102 c may receive the error correction and may use thecorrection for subsequent GPS calculations. Therefore, in variousembodiments, as the delivery vehicles 103 a, 103 b, 103 c travel ontheir delivery routes, the vehicle devices 300 in the vehicles 103 a,103 b, 103 c use the error correction to augment GPS locationsdetermined along the routes. Furthermore, in various embodiments, thevehicle devices 300 located in the vehicles 103 a, 103 b, 103 c may alsobe configured to transmits (e.g., broadcast) the error correction sothat other GPS devices within the vicinity of the vehicles 103 a, 103 b,103 c may make use of the error correction to augment GPS calculationspreformed by these devices. Thus, in these particular embodiments,personal vehicles (such as passenger cars) that have GPS navigationsystems and that are traveling near the delivery vehicles 103 a, 103 b,103 c may also make use of the error correction calculated by the errorcorrection module 400.

Returning to FIG. 4, the error correction module 400 waits for some typeof “triggering” event to occur to recalculate the error correction,shown as Step 405. For instance, in particular embodiments, the errorcorrection module 400 may be configured to wait a predetermined periodof time before recalculating the error correction. For example, theerror correction module 400 may be configured to recalculate the errorcorrection every two hours, twice a day, or every two days. Inparticular embodiments, the predetermined period of time may depend onsuch information as the amount of error detected during the previouscalculation or the current season (e.g., winter, spring, summer, fall).In other embodiments, the error correction module 400 may be configuredto recalculate the error correction based on the detection of someparameter. For instance, the error correction module 400 may receive thecurrent weather conditions communicated from measuring components (e.g.,thermometer, wind gauge, and/or barometer) located at the operatingobject 102 a, 102 b, 102 c and the module 400 may be configured torecalculate the error correction when certain weather conditions aredetected such as precipitation (e.g., rain or snow). While in otherembodiments, the error correction module 400 may be configured torecalculate the error correction based on the occurrence of any numberof “triggering” events or the occurrence of a combination of“triggering” events. Thus, once the error correction module 400 detectsthe “triggering” event, the module 400 returns to Step 402 to re-performthe steps necessary to recalculate the error correction. The errorcorrection module 400 continues this loop unless the module 400 ishalted.

It should be noted that in various embodiments of the invention an errorcorrection is not only provided by one operating object 102 a, 102 b,102 c within the carrier's delivery network, but by a number ofoperating objects 102 a, 102 b, 102 c within the carrier's deliverynetwork. For instance, as previously discussed, UPS® has approximately60,000 retail locations in 200 countries and territories andapproximately 1,800 operating facilities in 120 countries. Therefore, invarious embodiments, if UPS® were to transmit error correction messagesfrom a great number of these locations this could provide errorcorrection for GPS calculations conducted over a very large areacovering these countries. As a result, a greater number of more accurateGPS calculations may be carried out in these countries.

b. Data Collection Module

Another aspect of various embodiments of the invention is that becausethe carrier has a large number of delivery vehicles 103 a, 103 b, 103 ctraveling over a number of delivery routes covering a large area, thedelivery vehicles 103 a, 103 b, 103 c are able to collect GPS data forthis area. In addition, because a carrier's delivery vehicles 103 a, 103b, 103 c are dispatched almost daily in many instances over the deliveryroutes that cover this area, the frequency at which GPS data can becollected can be very high. For example, UPS® has a delivery fleet thatincludes approximately 96,000 package cars, vans, tractors, andmotorcycles. In addition, UPS®, s service area includes more than 200countries and territories, including every address in North America andEurope. Therefore, in this example, if UPS® were to collect GPS datausing a great number of its delivery fleet over a frequent time period(e.g., daily) the amount of GPS data would provide a higher level ofprecision than normally available with regard to GPS locations andrenderings.

One area that may benefit greatly from this amount of data is geographicinformation systems (GIS). A GIS is any system that captures, stores,analyzes, manages, and presents data that are linked to location. ManyGIS are used in such areas as cartography, remote sensing, landsurveying, utility management, natural resource management,photogrammetry, geography, urban planning, emergency management,navigation, and localized search engines. Therefore, in short, a GIS isany system that integrates, stores, edits, analyzes, shares, anddisplays geographic information.

Many modern GIS technologies make use of digital information. A commonsource of digital information is transforming a hard copy map or surveyplan into a digital medium through the use of computer-aided design(CAD) programs. However, this method may only be as reliable as the ageof the map or survey plan being used. This is because as many of thesemaps and survey plans become older, their representation of thelandscape they represent becomes less accurate as the landscape changes.Another common source of information is heads-up digitizing. Heads-updigitizing involves the tracing of geographic data directly on top ofaerial imagery. Similar to transforming maps and survey plans, thereliability of this method is dependent on the accuracy and recency ofthe aerial imagery. Therefore, in many instances, GIS accuracy dependsgreatly upon the source data.

In generally, any variable that can be located spatially can be fed intoa GIS. Therefore, locations that are represented by x, y, and zcoordinates of longitude, latitude, and elevation may be used as datafor a GIS. Further, many GIS may be configured to receive data fromdatabases or other types of data sources. As a result, GPS data isanother common source of data that may be used in many GIS. Thus, theamount and frequency of GPS data that may be provided in variousembodiments of the invention may be advantageous for many GISs. Forexample, changes to landscapes, such as the addition of a new point ofinterest (e.g., new restaurant), may be reflected quickly in a GIS.

In addition, an advantage that may be realized in various embodiments asa result of the collection of numerous GPS data is that the accuracy ofdetermining the exact location of an object along a delivery (e.g., aresidential home's location) may be greatly improved. For instance, adelivery vehicle 103 a, 103 b, 103 c may travel the same delivery routedaily and collect GPS data as the vehicle 103 a, 103 b, 103 c travelsthe route. Therefore, GPS data is collected daily for a particularlocation along the route (e.g., a residential home) providing multipleGPS location readings for the particular location. These multiple GPSlocation readings may then be analyzed statistically to determine theGPS location reading that is most likely the correction location readingthe particular location. Thus, in various embodiments, the collection ofmultiple GPS location readings for various objects along the deliveryroute may allow for a more accurate determination of the actual locationof the various objects.

Therefore, in various embodiments, the operating object server 200 mayalso include a data collection module 500 that is configured tocollection GPS data from a number of vehicle devices 300 (e.g., DIADsresiding in delivery vehicles 103 a, 103 b, 103 c). As is explained ingreater detail below, a number of delivery vehicles 103 a, 103 b, 103 cmay be dispatched daily over a plurality of delivery routes to deliverpackages. During this time, a GPS-enabled vehicle device 300 (e.g.,DIAD) located in a vehicle 103 a, 103 b, 103 c may be configured toreceive and record GPS data as the vehicle 103 a, 103 b, 103 c travelsover its delivery route. In particular embodiments, the device 300 maybe configured to receive and record GPS data for a predetermined timeinterval or when a “triggering” event occurs. For instance, in oneembodiment, the device 300 may be configured to receive and record GPSdata every second while the vehicle 103 a, 103 b, 103 c is in motion. Inanother embodiment, the device 300 may be configured to receive andrecord GPS data when a certain event is detected, such as the vehicle103 a, 103 b, 103 c stopping so that the driver may make a delivery.While in other embodiments, the device 300 may be configured to receiveand record GPS based on the occurrence of any number of “triggering”events or the occurrence of a combination of “triggering” events. Thus,the delivery vehicle 103 a, 103 b, 103 c may record and store GPS dataduring its daily route and then return to an operating object 102 a, 102b, 102 c (e.g., an operating center) after completing deliveries.

Accordingly, FIG. 5 illustrates a flow diagram of the data collectionmodule 500 according to various embodiments. This flow diagram maycorrespond to the steps carried out by the processor 60 in the operatingobject server 200 shown in FIG. 2 as it executes the module 500 in theserver's RAM memory 67 according to various embodiments. However,similar to the error correction module 400, in other embodiments thedata collection module 500 may reside on a GPS device associated with anoperating object 102 a, 102 b, 102 c when the GPS device is configuredto carry out the functionality of the operating object server 200.

Begin with Step 502, the data collection module 500 detects a deliveryvehicle 103 a, 103 b, 103 c that is within a predetermined distance fromthe operating object 102 a, 102 b, 102 c the module 500 is associatedwith. For example, in particular embodiments, the predetermined distancemay equate to a distance at which GPS data may be transferred from avehicle device 300 on a delivery vehicle 103 a, 103 b, 103 c (e.g., aDIAD residing in the delivery vehicle 103 a, 103 b, 103 c) to a GPSdevice associated with the operating object 102 a, 102 b, 102 c. Inparticular, a delivery vehicle 103 a, 103 b, 103 c may be returning toan operating center after completing its daily delivery route. In thisparticular instance, a vehicle device 300 in the delivery vehicle 103 a,103 b, 103 c may transmit a “beacon” (e.g., transmit a messageidentifying the vehicle device 300 and/or vehicle 103 a, 103 b, 103 c)that is detected by the GPS device associated with the operating center.The GPS device may then send a message to the data collection module 500informing the module 500 that the vehicle device 300 in the deliveryvehicle 103 a, 103 b, 103 c is within the predetermined distance fromthe operating center.

Accordingly, in Step 503, the data collection module 500 determineswhether the vehicle 103 a, 103 b, 103 c has GPS data to download. Forinstance, in one embodiment, the “beacon” message also includes anindicator that the vehicle 103 a, 103 b, 103 c has GPS data to download(e.g., an alphanumeric character that appears in the message indicatingthe vehicle 103 a, 103 b, 103 c has GPS data to download). In thisparticular embodiment, the data collection module 500 determines fromthe message sent from the GPS device that the vehicle 103 a, 103 b, 103c has GPS data to download. In another embodiment, the delivery vehicle103 a, 103 b, 103 c may simply begin to transmit the data after it iswithin a predetermined distance from the operating center. In thisparticular embodiment, the data collection module 500 determines thatthe vehicle 103 a, 103 b, 103 c has GPS data to download when the module500 simply begins to receive the data.

Therefore, if the data collection module 500 determines the vehicle 103a, 103 b, 103 c has GPS data to download the module 500 begins todownload the data, shown as Step 504. In various embodiments, this mayinvolve the vehicle device 300 in the vehicle 103 a, 103 b, 103 ctransmitting the GPS data over a wireless communication channel such as,for example, WPAN, WLAN, WMAN, and BWA. In these particular embodiments,the GPS device associated with the operating center may be configured toreceive these transmissions and to communicate these transmissions tothe data collection module 500. It should be understood that wirelesscommunication channels may not be the only type of communication used todownload the GPS data. For instance, in various embodiments, thedelivery vehicle 103 a, 103 b, 103 c may download the GPS data over awired communication channel. For example, in one embodiment, the vehicledevice 300 located in the delivery vehicle 103 a, 103 b, 103 c may becarried from the vehicle 103 a, 103 b, 103 c to an input terminalwherein the device 300 is plugged into the terminal and the GPS data isdownloaded directly into the data collection module 500. Thus, in thisparticular embodiment, the data collection module 500 may not beconfigured to detect the vehicle 103 a, 103 b, 103 c or to determinewhether the vehicle 103 a, 103 b, 103 c has GPS data to download.

Returning to FIG. 5, in various embodiments, the downloading of the GPSdata involves the data collection module 500 transferring the data tosome type of data storage. For instance, in one embodiment, the datacollection module 500 is configured to download the data to a centralsystem 104 within the carrier's delivery network. As previouslydescribed, the central system 104 may include one or more storage mediafor storing the GPS data. Further, in particular embodiments, thestorage of the data may involve storing the data in one or moredatabases that reside on the storage media. Therefore, in variousembodiments, the GPS data may be easily made available to a number ofparties by storing the GPS data received from all of the deliveryvehicles 103 a, 103 b, 103 c in a central location. For example, in aninstance in which a GIS uses this data as input, the GIS may simply gainaccess to all of the GPS data collected by the various vehicle devices300 in the delivery vehicles 103 a, 103 b, 103 c through the one or moredatabases residing on the central system 104. However, it should beunderstood that the downloaded GPS data does not necessarily need to becentrally stored. For instance, each operating object 102 a, 102 b, 102c may have some type of storage media to store the GPS data instead ofor in addition to the storage media residing in the central system 104.Further, the GPS data may be packaged up and provided to entitiesindependent of the carrier. For example, the carrier may record the GPSdata onto one or more portable data storage devices to provide and/ormay transmit the data to parties such as a web mapping provider (e.g.,Google Maps® and Bing™ Maps) and/or a GPS service provider (e.g.,Garmin® and Tom-Tom®) for a fee.

Finally, in Step 505, the data collection module 500 determines whetherto continue the detection process. For instance, in particularembodiments, the data collection module 500 determines whether the GPSdevice associated with the operating center is working properly and/orwhether the module 500 has received an indication to halt the detectionprocess from an individual or from another module. If the datacollection module 500 determines to continue the detection process, themodule 500 returns to Step 502.

c. Vehicle Module

As described above, in various embodiments, delivery vehicles 103 a, 103b, 103 c may be equipped with GPS enabled devices (e.g., vehicle devices300). According to various embodiments, a vehicle device 300 may beaffixed to a vehicle 103 a, 103 b, 103 c or may be a portable devicethat is carried by the driver such as a DIAD. Therefore, in variousembodiments, the vehicle device 300 may include a vehicle module 600that is configured to perform GPS functionality. Accordingly, FIG. 6illustrates a flow diagram of the vehicle module 600 according tovarious embodiments. For instance, this flow diagram may correspond tothe steps carried out by the processor 315 in the vehicle device 300shown in FIG. 3 as it executes the module 600 in the device's DRAMmemory 360 according to various embodiments.

As previously described, in various embodiments, the vehicle device 300in the vehicle 103 a, 103 b, 103 c may be configured to transmit GPSdata over a wireless communication channel to an operating object 102 a,102 b, 102 c. Therefore, in these particular embodiments, the vehiclemodule 600 determines whether the module 500 has detected a “triggering”event to download the GPS data, shown as Step 602. For instance, in oneembodiment, the vehicle device 300 in the vehicle 103 a, 103 b, 103 cmay be configured to transmit a “beacon” message that is detected by anoperating object 102 a, 102 b, 102 c and the vehicle device 300 receivesa message in return from the operating object 102 a, 102 b, 102 cinforming the vehicle device 300 that the “beacon” message has beendetected and requesting the vehicle device 300 to transmit available GPSdata. Thus, in this particular embodiment, the “triggering” event is thereceipt of the request to transmit the available GPS data.

In another embodiment, the vehicle module 600 may simply determinewhether the vehicle device 300 in the vehicle 103 a, 103 b, 103 c iswithin a predetermined distance from the operating object 102 a, 102 b,102 c. For instance, in this particular embodiment, the vehicle module600 may have access to the location of one or more operating objects 102a, 102 b, 102 c and the vehicle module 600 calculates the distancebetween the location of the operating objects 102 a, 102 b, 102 c andthe current location of the vehicle 103 a, 103 b, 103 c based on aprevious GPS calculation. Therefore, in this embodiment, the“triggering” event is the determination that the distance between thetwo locations is within the predetermined distance. Yet, in anotherembodiment, the GPS device associated with the operating object 102 a,102 b, 102 c transmits a message that identifies the operating object102 a, 102 b, 102 c. For example, the message may include informationthat identifies the operating object 102 a, 102 b, 102 c along withadditional information, such as an error correction for GPScalculations. Therefore, in this particular embodiment, the “triggering”event is the detection of this message. While in other embodiments, the“triggering” event may be based on the occurrence of any number ofevents or on the occurrence of a combination of events.

If the vehicle module 600 determines a “triggering” event has occurred,the module 600 transfers the stored GPS data to the operating object 102a, 102 b, 102 c, shown as Step 603. As previously described, this mayentail the vehicle device 300 located in the vehicle 103 a, 103 b, 103 ctransmitting the GPS data over a wireless communication channel to theGPS device associated with the operating object 102 a, 102 b, 102 c. Inaddition, in various embodiments, the vehicle module 600 may alsoreceive an error correction over the wireless communication channel,shown as Step 604. Therefore, in these particular embodiments, theoperating object 102 a, 102 b, 102 c in communication with the vehicle103 a, 103 b, 103 c transmits the error correction over thecommunication channel to the vehicle 103 a, 103 b, 103 c.

It should be noted that in particular embodiments, the carrier'sdelivery network may be divided into error correction zones. That is, anerror correction zone may represent a particular portion of one or moredelivery routes. Further, in these particular embodiments, a zone may beassociated with a particular operating object 102 a, 102 b, 102 c.Therefore, as the delivery vehicle 103 a, 103 b, 103 c travels along itsdelivery route, the vehicle 103 a, 103 b, 103 c may travel from oneerror correction zone to another error correction zone. At this point,the vehicle module 600 may be configured to obtain an error correctionfor the new zone from the operating object 102 a, 102 b, 102 cassociated with the new zone. In particular embodiments, the vehiclemodule 600 may have access to data that aids the module 600 indetermining when the vehicle 103 a, 103 b, 103 c travels from one errorcorrection zone into a new error correction zone. For instance, in oneembodiment, data representing a map indicating the different zones isstored on the vehicle device 300 and based on the last calculatedposition of the vehicle 103 a, 103 b, 103 c, the vehicle module 600determines whether the vehicle 103 a, 103 b, 103 c has passed into a newzone and needs to obtain an error correction for the new zone. Further,it should be noted that the detection of moving into a new errorcorrection zone may also serve as a “triggering” event in variousembodiments for downloading GPS data.

Returning to FIG. 5, in Step 605, the vehicle module 600 receives GPSsignals from one or more of the satellites 101 a, 101 b, 101 c withinthe global positioning system (GPS). As previously described, thevehicle device 300 in the vehicle 103 a, 103 b, 103 c may include a GPSsensor 310 for detecting the GPS signals, and these signals may becommunicated to the vehicle module 600. In response, the vehicle module600 determines whether the vehicle 103 a, 103 b, 103 c is within apredetermined distance from the operating object 102 a, 102 b, 102 cfrom which the module 600 received the error correction, shown as Step606. As previously explained, the error correction in variousembodiments is based on the known location and the GPS calculatedlocation of a GPS device associated with the operating object 102 a, 102b, 102 c. Therefore, as the vehicle 103 a, 103 b, 103 c (and the vehicledevice 300) travels away from the operating object 102 a, 102 b, 102 c,the error correction may become less applicable. Therefore, the vehiclemodule 600 determines whether the vehicle 103 a, 103 b, 103 c is stillwithin a range in which the received error correction may still be usedin a GPS calculation.

For instance, in one embodiment, the location of the operating object102 a, 102 b, 102 c is received along with the error correction from theoperating object 102 a, 102 b, 102 c. In this particular embodiment, thevehicle module 600 may be configured to determine whether the currentlocation of the vehicle 103 a, 103 b, 103 c determined from the previousGPS calculation is within a predetermined distance from the location ofthe operating object 102 a, 102 b, 102 c. If the vehicle 103 a, 103 b,103 c is within the predetermined distance, the vehicle module 600performs the GPS calculation with the error correction, shown as Step608. However, if the vehicle 103 a, 103 b, 103 c is not within thepredetermined distance, the vehicle module 600 instead performs the GPScalculation without using the error correction, shown as Step 607. Invarious embodiments, once the vehicle module 600 has performed the GPScalculation, the module 600 stores the GPS data on the device so that ismay be later transferred to an operating object 102 a, 102 b, 102 c,shown as Step 609. In addition, in particular embodiments, the module600 may also store an indicator as to whether an error correction wasused or not in the calculation.

Finally, in various embodiments, the vehicle module 600 may beconfigured to re-perform its functionality after a “triggering” eventoccurs, shown as Step 610. For instance, the “triggering” event maysimply be an indication received from an operating object 102 a, 102 b,102 c to download the GPS data. In addition, “triggering” events mayinclude such events as a time interval elapsing indicating that asubsequent GPS calculation should be performed. For example, the vehiclemodule 600 may be configured to perform a GPS calculation every secondwhile the vehicle 103 a, 103 b, 103 c is in motion. “Triggering” eventsmay also include the detection of certain sensor events. As previouslydescribed, in particular embodiments, the GPS vehicle device 300 in thevehicle 103 a, 103 b, 103 c may be configured to communicate with one ormore data sensors on, for example, the delivery vehicle 103 a, 103 b,103 c, a building along the delivery route, or about an operatingfacility. Thus, in these particular embodiments, a “triggering” eventmay include the detection of data from one or more of these sensors.Therefore, in various embodiments, once the vehicle module 600 detects a“triggering” event, the vehicle module 600 returns to Step 602.

It should be noted that in various embodiments, the vehicle device 300located in the vehicle 103 a, 103 b, 103 c may be configured tobroadcast the error correction as the vehicle 103 a, 103 b, 103 ctravels along its delivery route so that other GPS enabled devices inthe area may make use of the error correction. Therefore, in theseparticular embodiments, the vehicle module 600 may be configured toinstruct the vehicle device 300 to broadcast the error correction if themodule 600 determines the error correction is still applicable. Inaddition, in various embodiments, the vehicle module 600 may beconfigured to include additional data along with the GPS datatransferred to the operating object 102 a, 102 b, 102 c. For example,data collected from one or more sensors on the vehicle 103 a, 103 b, 103c may be included along with the GPS data transferred to the operationobject 102 a, 102 b, 102 c. In another example, in instances in whichthe vehicle device 300 may be a DIAD, the delivery driver may carry theDIAD away from the vehicle 103 a, 103 b, 103 c while making somedeliveries. In particular situations, the delivery location may not be“visible” to GPS. For instance, the driver may be making a delivery to astore located inside an indoor mall. Therefore, once the driver entersthe mall, the DIAD being carried by the driver is no longer visible toGPS. In this particular instance, the DIAD may be configured to tracethe driver's route within the mall using other methods such as deadreckoning based on the current location of the delivery vehicle 103 a,103 b, 103 c. Therefore, this information may be stored on the DIADalong with the GPS data gathered during the deliveries and transferredalong with the GPS data to an operating object 102 a, 102 b, 102 c. Thisadditional information may then be used, for example, by a GIS to bettermap out locations that are not necessary visible in GPS. In addition,such information may be helpful in better determining the actual addressof many of locations that are not necessarily visible to GPS.

d. Additional Comments

It should be understood that the functionality of various modules 400,500, 600 described above may be combined or separated in particularembodiments. For instance, in various embodiments, the functionality asdescribed above with respect to the error correction module 400 and thedata collection module 500 may be combined into one module or separatedinto multiple modules. Therefore, the descriptions of the variousmodules 400, 500, 600 are provided above as they relate to thefunctionality performed by various embodiments of the invention andshould not be construed to limit the scope of the claimed invention.

IV. CONCLUSION

Many modifications and other embodiments of the inventions set forthherein will come to mind to one skilled in the art to which theseinventions pertain having the benefit of the teachings presented in theforegoing descriptions and the associated drawings. Therefore, it is tobe understood that the inventions are not to be limited to the specificembodiments disclosed and that modifications and other embodiments areintended to be included within the scope of the appended claims.Although specific terms are employed herein, they are used in a genericand descriptive sense only and not for purposes of limitation.

The invention claimed is:
 1. A system for providing improvedaugmentation for a global positioning system (GPS), the systemcomprising: (a) a GPS enabled vehicle device associated with a vehicletraveling on a route; (b) a communication device associated with thevehicle in electronic communication with the GPS enabled vehicle device;(c) a stationary GPS device associated with an operating object locatedalong the route, wherein the stationary GPS device is configured to: (1)receive signals from a plurality of satellites associated with theglobal positioning system; (2) determine a calculated location of theoperating object for which the stationary GPS device is affixed based onthe received signals; and (3) determine an error correction based on apredetermined location of the stationary GPS device and the calculatedlocation of the stationary GPS device; and (d) a stationarycommunication device, associated with the operating object, configuredto receive the error correction from the stationary GPS device andcommunicate the error correction to the communication device associatedwith the vehicle as the vehicle travels within a predetermined distanceof the operating object, wherein the communication device communicatesthe error correction to a second GPS enabled device proximate to theroute as the vehicle travels the route.
 2. The system of claim 1,wherein the stationary GPS device and the stationary communicationdevice are the same device.
 3. The system of claim 2, wherein thecommunication device and the GPS enabled device are the same device. 4.The system of claim 1, wherein the second GPS enabled device isassociated with a vehicle other than the vehicle.
 5. The system of claim1, wherein the second GPS enabled device is associated with a cellphone.
 6. The system of claim 1, wherein the communication devicecommunicates the error correction as long as the vehicle is within apredetermined distance from the operating object.
 7. The system of claim1, wherein the vehicle comprises part of a common carrier's deliveryfleet and the operating object comprises either a retail location or anoperating facility of the common carrier.
 8. The system of claim 1,wherein the communication device communicates the error correction bybroadcasting the error correction over an open wireless communicationchannel.
 9. The system of claim 1, wherein the stationary communicationdevice communicates the error correction by broadcasting the errorcorrection over an open wireless communication channel to cause one ormore of the GPS enabled devices proximate to the operating object toreceive the error correction.
 10. The system of claim 1, wherein thestationary GPS device is configured to re-perform Steps (1) through (4)in response to a predetermined period of time expiring since a previousperformance of Steps (1) through (4).
 11. The system of claim 1, whereinthe stationary GPS device is configured to re-perform Steps (1) through(4) in response to detecting a weather condition change.
 12. The systemof claim 1, wherein: the route comprises two or more error correctionzones and each error correction zone is associated with a differentoperating object located along the route; and the stationarycommunication device communicates the error correction to thecommunication device associated with the vehicle as a result of thevehicle traveling from a first error correction zone to a second errorcorrection zone.
 13. A method for augmenting global positioning system(GPS) data associated with a global positioning system, the methodcomprising the steps of: (1) receiving signals from a plurality ofsatellites associated with the global positioning system by a stationaryGPS device, the stationary GPS device being one of a plurality ofstationary GPS devices disposed along a plurality of routes; (2)determining a calculated location of the stationary GPS device, by thestationary GPS device, based on the received signals; and (3)determining an error correction, by the stationary GPS device, based ona predetermined location of the stationary GPS device and the calculatedlocation of the stationary GPS device; (4) communicating the errorcorrection to one or more communication devices associated with one ormore of vehicles as the one or more vehicles travel proximate thestationary GPS device; and (5) communicating the error correction to oneor more GPS enabled devices proximate to the one or more routes as theone or more vehicles travel one or more of the plurality of routes tocause each of the GPS enabled devices use the error correction toaugment for GPS calculations performed by the one or more GPS enableddevices based on the global positioning system.
 14. The method of claim13, wherein one or more of the GPS enabled devices is located on one ormore of the vehicles.
 15. The method of claim 14, wherein at least oneof the communication devices and at least one of the GPS enabled devicesare the same device.
 16. The method of claim 13, wherein one or more ofthe GPS enabled devices are associated with one or more vehicles otherthan the plurality of vehicles.
 17. The method of claim 13, wherein thecommunication devices communicate the error correction as long as theone or more vehicles are within a predetermined distance from thestationary GPS device.
 18. The method of claim 13, wherein the one ormore communication devices communicate the error correction bybroadcasting the error correction over an open wireless communicationchannel.
 19. The method of claim 13, wherein the step of communicatingthe error correction is performed by broadcasting the error correctionover an open wireless communication channel to cause one or more of theGPS enabled devices proximate the stationary GPS device to receive theerror correction.
 20. The method of claim 13, wherein the Steps (1)through (4) are re-performed in response to a predetermined period oftime expiring since a previous performance of Steps (1) through (4). 21.The method of claim 13, wherein the Steps (1) through (4) arere-performed in response to detecting a weather condition change. 22.The method of claim 13, wherein: the one or more routes comprises two ormore error correction zones and each error correction zone is associatedwith a different GPS device disposed along the one or more routes; andthe step of communicating the error correction to one or morecommunication devices associated with one or more of vehicles isexecuted as the one or more vehicles travel from a first errorcorrection zone to a second error correction zone.
 23. A non-transitorycomputer-readable medium containing executable code for providingimproved augmentation for global positioning system (GPS) enableddevices associated with a global positioning system, that when executedby at least one computer processor associated with an operating objectlocated along at least one of a plurality of routes causes the at leastone computer processor to: (1) receive signals from a plurality ofsatellites associated with the global positioning system; (2) determinea calculated location of the operating object based on the receivedsignals; and (3) determine an error correction based on a preciselocation of the operating object and the calculated location of theoperating object; and (4) communicate the error correction to one ormore communication devices located on one or more of the vehicles as theone or more vehicles travel proximate to the operating object, wherein,as the one or more vehicles travel one or more of the plurality ofroutes, the one or more communication devices communicate the errorcorrection to provide the error correction to one or more of the GPSenabled devices proximate to the one or more routes to cause each of theGPS enabled devices to use the error correction to augment a GPScalculation performed by the GPS enabled device based on the globalpositioning system.